package Entities;

import java.io.Serializable;
import java.util.Calendar;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;

@Entity
@NamedQueries({
    @NamedQuery(name = "todosPedidosInternos", query = "select i from Interno i")})
public class Interno extends Pedido implements Serializable {

    private static final long serialVersionUID = 1L;
    //Atributos
    @OneToMany(fetch = FetchType.EAGER)
    private List<Mesa> listaMesas;
    @OneToOne(fetch = FetchType.EAGER)
    private Mozo mozo;
    
    //Constructores
    public Interno() {
        super();
    }

    public Interno(List<Mesa> listaMesas, Mozo mozo) {
        this.listaMesas = listaMesas;
        this.mozo = mozo;
    }

    public Interno(List<Mesa> listaMesas, Mozo mozo, List<ItemProducto> listaItemsProductos, Calendar fechaHora, int idEstado) {
        super(listaItemsProductos, fechaHora, idEstado);
        this.listaMesas = listaMesas;
        this.mozo = mozo;
    }
    
    //Getters and Setters
    public List<Mesa> getListaMesas() {
        return listaMesas;
    }

    public void setListaMesas(List<Mesa> listaMesas) {
        this.listaMesas = listaMesas;
    }

    public Mozo getMozo() {
        return mozo;
    }

    public void setMozo(Mozo mozo) {
        this.mozo = mozo;
    }

    //toString
    @Override
    public String toString() {
        return "Entitys.Interno[ listaMesas=" + listaMesas + " ]";
    }
}
